/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package th.manager;

import com.google.inject.Inject;
import com.wideplay.warp.persist.Transactional;
import th.dao.SejarahTransaksiDAO;
import th.model.SejarahTransaksi;
import java.util.*;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import th.model.Pengguna;

/**
 *
 * @author faizal.azlee
 */
public class SejarahTransaksiManager {
    @Inject
    private SejarahTransaksiDAO sejarahTransaksiDAO;
    @Inject
    protected com.google.inject.Provider<Session> sessionProvider;
    
    @Transactional
    public void saveSejarahTransaksi(SejarahTransaksi sejarahTransaksi) {
        sejarahTransaksiDAO.saveOrUpdate(sejarahTransaksi);
    }
    
    public List<SejarahTransaksi> findSejarahTransaksiBySessionId( String noKp, String sessionId ) {
        String query = "SELECT a FROM SejarahTransaksi a WHERE a.pengguna.noKp = :noKp and a.idSessi = :sessionId";
        Query q = sessionProvider.get().createQuery(query).setString("noKp", noKp).setParameter("sessionId", sessionId);
        return q.list(); 
    }
    
    public List<SejarahTransaksi> findSejarahTransaksiByCurrentDate( String noKp ) {
        String query = "SELECT a FROM SejarahTransaksi a WHERE a.pengguna.noKp = :noKp and DATE(a.trhMasuk) = curdate()";
        Query q = sessionProvider.get().createQuery(query).setString("noKp", noKp);
        return q.list(); 
    }
    
}
